<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JSON URI - A better way to manipulate data,friendly support Vue-like frameworks</title>
  <script src="//cdn.jsdelivr.net/npm/vue"></script>
  <script src="//cdn.jsdelivr.net/npm/jsonuri@2.2.8/dist/index.min.js"></script>
<style>
*{margin: 0; padding: 0; font-family: monospace;}
body{
  overflow-x: hidden;
}
h1{
  padding:50px 0 50px;
  position: fixed
}
.tips {
  width: 100%;
  height: 30px;
  background: #ddd;
  position: fixed;
  /* border: 1px solid #f00; */
  line-height: 30px;
  text-align: center
}
#app {
  margin-top: 175px;
}
.data {
  border: none;
  width: 500px;
  height: 500px;
  position: fixed;
  color: #a11;
  outline: none;
  font-size: 16px;
  margin-top: 0;
  text-align: left;
  overflow: auto;
  resize: none;
  padding: 5px 15px;
}

.ctr {
  margin-left: 550px;
  padding-bottom: 50px;
}
.tabs {
  margin-bottom: 5px;
}
.tabs a {
  display: inline-block;
  text-decoration: none;
  width: 60px;
  height: 30px;
  border: 1px solid #ccc;
  text-align: center;
  line-height: 30px;
  color: #333
}
.repl {
  border-radius: 5px;
  padding: 5px 15px;
  color: #fff;
  background: #000;
  font-family: monospace;
  font-size: 16px;
  height: 400px;
  width: 100%;
  box-sizing: border-box
}
.repl-btn {
  text-align: center;
  background: none;
  border: 1px solid #ccc;
}
button{
  width: 100%;
  color: #a11;
  border: none;
  height: 60px;
  outline: none;
  cursor: pointer;
  font-size: 16px;
  margin-bottom: 50px;
  text-align: left;
  overflow: hidden;
  text-indent: 15px;
  border-radius: 3px;
  background: -webkit-linear-gradient(top, #f9f0f0, #e8e8e8);
}


button:active{
  background: -webkit-linear-gradient(top, #e8e8e8, #efefef);
}

.ribbon{
  position: fixed;
  top: 42px;
  width: 200px;
  padding: 1px 0;
  background: #000;
  color: #eee;

  -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.ribbon a,
.ribbon a:visited,
.ribbon a:active,
.ribbon a:hover{
  display: block;
  padding: 1px 0;
  height: 24px;
  line-height: 24px;

  color: inherit;
  text-align: center;
  text-decoration: none;
  font-family: 'Cabin Condensed', sans-serif;
  font-size: 16px;
  font-weight: 500;

  border: 1px solid rgba(255,255,255,0.3);

  -moz-text-shadow: 0 0 10px rgba(0,0,0,0.31);
  -webkit-text-shadow: 0 0 10px rgba(0,0,0,0.31);
  text-shadow: 0 0 10px rgba(0,0,0,0.31);
}
.ribbon.right{
  right: -42px;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

svg path{
  fill:none;
  stroke: #CD0000;
  stroke-width:1px;
  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  opacity: 0;
  animation: 4s text-outline 1 alternate;
  animation-fill-mode: forwards;
}
polygon{
  stroke-dasharray: 800px;
  stroke-dashoffset: 0;
  opacity: 0;
  animation: 2s 2s circle-outline 1 alternate;
  animation-fill-mode: forwards;
}
@keyframes text-outline{
  0%{
    opacity: 0;
    stroke-dashoffset: 400;
  }
  50%{
    opacity: 1;
    stroke-dashoffset: 0;
    fill:#fff;
    stroke: #000;
    stroke-width:1px;
  }
  100%{
    opacity: 1;
    stroke-dashoffset: 0;
    stroke: #000;
    fill:#000;
    stroke-width:1px;
  }
}
@keyframes circle-outline{
  from{
    stroke-dashoffset: 800;
    opacity: 0;
  }
  to{
    opacity: 1;
    stroke-dashoffset: 0;
  }
}
  </style>
</head>
<body>
<div style="display: none"><script src="https://s13.cnzz.com/z_stat.php?id=1273470337&web_id=1273470337" language="JavaScript"></script></div>
<div class="tips">
  jsonuri <a href="//www.npmjs.com/package/jsonuri">2.2.8</a> is now available. Download our latest version today!
</div>
<div style="width: 1100px; margin:0 auto; overflow: hidden;">
  <h1>
    <svg width="356px" height="67px" viewBox="252 279 356 67" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
        <desc>JSON URI</desc>
        <path d="M279.36,283.88 L279.36,283.16 L257.184,283.16 L257.184,283.88 C258.432006,284.024001 259.643994,284.239999 260.82,284.528 C261.996006,284.816001 262.919997,285.367996 263.592,286.184 C263.880001,286.520002 264.083999,286.999997 264.204,287.624 C264.324001,288.248003 264.42,288.955996 264.492,289.748 C264.564,290.540004 264.6,291.367996 264.6,292.232 L264.6,294.824 L264.6,308.864 L264.6,313.04 L264.6,317.288 C264.6,318.632007 264.588,319.879994 264.564,321.032 C264.54,322.184006 264.528,323.095997 264.528,323.768 C264.48,325.112007 264.396001,326.455993 264.276,327.8 C264.155999,329.144007 263.952001,330.343995 263.664,331.4 C263.327998,332.504006 262.788004,333.439996 262.044,334.208 C261.299996,334.976004 260.328006,335.36 259.128,335.36 C258.743998,335.36 258.336002,335.276001 257.904,335.108 C257.471998,334.939999 257.136001,334.688002 256.896,334.352 L256.896,334.136 C257.904005,333.991999 258.743997,333.668003 259.416,333.164 C260.088003,332.659997 260.424,331.856006 260.424,330.752 C260.424,329.791995 260.076003,328.964003 259.38,328.268 C258.683997,327.571997 257.856005,327.224 256.896,327.224 C255.791994,327.224 254.808004,327.583996 253.944,328.304 C253.079996,329.024004 252.648,329.959994 252.648,331.112 C252.648,332.024005 252.827998,332.803997 253.188,333.452 C253.548002,334.100003 254.027997,334.603998 254.628,334.964 C255.228003,335.324002 255.899996,335.599999 256.644,335.792 C257.388004,335.984001 258.143996,336.08 258.912,336.08 C260.304007,336.08 261.827992,335.816003 263.484,335.288 C265.140008,334.759997 266.735992,333.896006 268.272,332.696 C269.520006,331.735995 270.527996,330.692006 271.296,329.564 C272.064004,328.435994 272.448,327.080008 272.448,325.496 L272.448,308.576 L272.448,304.472 L272.448,300.728 C272.448,299.527994 272.46,298.340006 272.484,297.164 C272.508,295.987994 272.52,294.800006 272.52,293.6 C272.568,292.495994 272.616,291.308006 272.664,290.036 C272.712,288.763994 272.927998,287.744004 273.312,286.976 C273.936003,285.823994 274.847994,285.056002 276.048,284.672 C277.248006,284.287998 278.351995,284.024001 279.36,283.88 L279.36,283.88 Z M320.904,320.816 C320.904,317.407983 320.004009,314.564011 318.204,312.284 C316.403991,310.003989 313.872016,308.264006 310.608,307.064 C309.695995,306.727998 308.820004,306.416001 307.98,306.128 C307.139996,305.839999 306.312004,305.564001 305.496,305.3 C304.679996,305.035999 303.852004,304.760001 303.012,304.472 C302.171996,304.183999 301.272005,303.848002 300.312,303.464 C297.863988,302.551995 295.872008,301.328008 294.336,299.792 C292.799992,298.255992 292.032,296.216013 292.032,293.672 C292.032,292.039992 292.307997,290.588006 292.86,289.316 C293.412003,288.043994 294.179995,286.976004 295.164,286.112 C296.148005,285.247996 297.299993,284.600002 298.62,284.168 C299.940007,283.735998 301.343993,283.52 302.832,283.52 C304.704009,283.52 306.407992,283.903996 307.944,284.672 C309.480008,285.440004 310.847994,286.435994 312.048,287.66 C313.248006,288.884006 314.303995,290.275992 315.216,291.836 C316.128005,293.396008 316.871997,294.967992 317.448,296.552 L318.24,296.552 L318.24,283.232 L317.448,283.232 C317.063998,283.808003 316.644002,284.383997 316.188,284.96 C315.731998,285.536003 315.432001,285.824 315.288,285.824 C315.24,285.824 314.964003,285.644002 314.46,285.284 C313.955997,284.923998 313.212005,284.528002 312.228,284.096 C311.243995,283.663998 309.984008,283.268002 308.448,282.908 C306.911992,282.547998 305.064011,282.368 302.904,282.368 C300.599988,282.368 298.40401,282.667997 296.316,283.268 C294.22799,283.868003 292.392008,284.791994 290.808,286.04 C289.223992,287.288006 287.964005,288.847991 287.028,290.72 C286.091995,292.592009 285.624,294.823987 285.624,297.416 C285.624,298.952008 285.887997,300.403993 286.416,301.772 C286.944003,303.140007 287.639996,304.387994 288.504,305.516 C289.368004,306.644006 290.375994,307.627996 291.528,308.468 C292.680006,309.308004 293.879994,309.967998 295.128,310.448 C296.232006,310.880002 297.179996,311.227999 297.972,311.492 C298.764004,311.756001 299.531996,312.019999 300.276,312.284 C301.020004,312.548001 301.823996,312.823999 302.688,313.112 C303.552004,313.400001 304.559994,313.759998 305.712,314.192 C306.864006,314.624002 307.943995,315.103997 308.952,315.632 C309.960005,316.160003 310.835996,316.795996 311.58,317.54 C312.324004,318.284004 312.911998,319.159995 313.344,320.168 C313.776002,321.176005 313.992,322.351993 313.992,323.696 C313.992,327.008017 312.888011,329.63599 310.68,331.58 C308.471989,333.52401 305.592018,334.496 302.04,334.496 C300.791994,334.496 299.496007,334.280002 298.152,333.848 C296.807993,333.415998 295.728004,332.984002 294.912,332.552 C294.095996,332.119998 293.244004,331.496004 292.356,330.68 C291.467996,329.863996 290.628004,328.916005 289.836,327.836 C289.043996,326.755995 288.312003,325.604006 287.64,324.38 C286.967997,323.155994 286.416002,321.896006 285.984,320.6 L285.264,320.6 L285.48,334.928 L286.128,334.928 C286.512002,334.399997 286.943998,333.848003 287.424,333.272 C287.904002,332.695997 288.215999,332.408 288.36,332.408 C288.504001,332.408 288.851997,332.575998 289.404,332.912 C289.956003,333.248002 290.783994,333.619998 291.888,334.028 C292.992006,334.436002 294.383992,334.783999 296.064,335.072 C297.744008,335.360001 299.759988,335.504 302.112,335.504 C304.848014,335.504 307.367988,335.192003 309.672,334.568 C311.976012,333.943997 313.955992,332.984006 315.612,331.688 C317.268008,330.391994 318.563995,328.832009 319.5,327.008 C320.436005,325.183991 320.904,323.120012 320.904,320.816 L320.904,320.816 Z M380.376,308.72 C380.376,305.263983 379.776006,301.952016 378.576,298.784 C377.375994,295.615984 375.648011,292.820012 373.392,290.396 C371.135989,287.971988 368.388016,286.040007 365.148,284.6 C361.907984,283.159993 358.24802,282.44 354.168,282.44 C350.423981,282.44 346.860017,283.051994 343.476,284.276 C340.091983,285.500006 337.140013,287.251989 334.62,289.532 C332.099987,291.812011 330.096007,294.595984 328.608,297.884 C327.119993,301.172016 326.376,304.879979 326.376,309.008 C326.376,312.896019 327.083993,316.459984 328.5,319.7 C329.916007,322.940016 331.847988,325.723988 334.296,328.052 C336.744012,330.380012 339.599984,332.179994 342.864,333.452 C346.128016,334.724006 349.583982,335.36 353.232,335.36 C356.928018,335.36 360.419984,334.712006 363.708,333.416 C366.996016,332.119994 369.875988,330.272012 372.348,327.872 C374.820012,325.471988 376.775993,322.640016 378.216,319.376 C379.656007,316.111984 380.376,312.560019 380.376,308.72 L380.376,308.72 Z M371.448,308.792 C371.448,311.816015 371.076004,314.839985 370.332,317.864 C369.587996,320.888015 368.472007,323.611988 366.984,326.036 C365.495993,328.460012 363.636011,330.439992 361.404,331.976 C359.171989,333.512008 356.544015,334.28 353.52,334.28 C350.495985,334.28 347.844011,333.584007 345.564,332.192 C343.283989,330.799993 341.388008,328.952012 339.876,326.648 C338.363992,324.343988 337.224004,321.680015 336.456,318.656 C335.687996,315.631985 335.304,312.488016 335.304,309.224 C335.304,306.103984 335.651997,303.020015 336.348,299.972 C337.044003,296.923985 338.123993,294.200012 339.588,291.8 C341.052007,289.399988 342.923989,287.444008 345.204,285.932 C347.484011,284.419992 350.183984,283.664 353.304,283.664 C356.376015,283.664 359.039989,284.419992 361.296,285.932 C363.552011,287.444008 365.435992,289.411988 366.948,291.836 C368.460008,294.260012 369.587996,296.959985 370.332,299.936 C371.076004,302.912015 371.448,305.863985 371.448,308.792 L371.448,308.792 Z M443.376,283.88 L443.376,283.16 L425.52,283.16 L425.52,283.88 C427.824012,284.216002 429.587994,284.803996 430.812,285.644 C432.036006,286.484004 432.887998,287.575993 433.368,288.92 C433.752002,289.928005 433.968,291.307991 434.016,293.06 C434.064,294.812009 434.088,296.64799 434.088,298.568 L434.088,323.048 L399.96,283.16 L385.344,283.16 L385.344,283.88 C386.112004,283.976 386.915996,284.131999 387.756,284.348 C388.596004,284.564001 389.375996,284.923997 390.096,285.428 C390.816004,285.932003 391.439997,286.627996 391.968,287.516 C392.496003,288.404004 392.831999,289.543993 392.976,290.936 C393.024,292.328007 393.048,293.503995 393.048,294.464 L393.048,297.128 L393.048,299.792 L393.048,303.248 C393.048,306.464016 393.024,309.475986 392.976,312.284 C392.928,315.092014 392.856,317.52799 392.76,319.592 C392.664,322.328014 392.520001,324.67999 392.328,326.648 C392.135999,328.61601 391.704003,330.103995 391.032,331.112 C390.359997,332.168005 389.448006,332.923998 388.296,333.38 C387.143994,333.836002 385.992006,334.135999 384.84,334.28 L384.84,335 L402.552,335 L402.552,334.28 C400.58399,334.039999 399.036006,333.644003 397.908,333.092 C396.779994,332.539997 395.952003,331.712006 395.424,330.608 C394.943998,329.647995 394.644001,328.18401 394.524,326.216 C394.403999,324.24799 394.344,322.040012 394.344,319.592 L394.344,289.208 C397.608016,292.856018 400.703985,296.383983 403.632,299.792 C406.560015,303.200017 409.547985,306.691982 412.596,310.268 C415.644015,313.844018 418.847983,317.59998 422.208,321.536 C425.568017,325.47202 429.28798,329.791976 433.368,334.496 C433.848002,334.976002 434.279998,335.216 434.664,335.216 C434.904001,335.216 435.083999,335.156001 435.204,335.036 C435.324001,334.915999 435.384,334.760001 435.384,334.568 L435.384,329.888 C435.384,328.159991 435.372,326.420009 435.348,324.668 C435.324,322.915991 435.312,321.200008 435.312,319.52 L435.312,314.912 C435.312,311.695984 435.348,308.684014 435.42,305.876 C435.492,303.067986 435.576,300.63201 435.672,298.568 C435.768,296.359989 435.864,294.28401 435.96,292.34 C436.056,290.39599 436.271998,289.064004 436.608,288.344 C437.184003,286.951993 438.011995,285.920003 439.092,285.248 C440.172005,284.575997 441.599991,284.120001 443.376,283.88 L443.376,283.88 Z M527.184,283.88 L527.184,283.16 L509.328,283.16 L509.328,283.88 C511.632012,284.216002 513.371994,284.803996 514.548,285.644 C515.724006,286.484004 516.551998,287.575993 517.032,288.92 C517.224001,289.400002 517.368,290.035996 517.464,290.828 C517.56,291.620004 517.632,292.471995 517.68,293.384 C517.728,294.296005 517.764,295.255995 517.788,296.264 C517.812,297.272005 517.824,298.255995 517.824,299.216 L517.824,302.168 L517.824,304.976 L517.824,307.928 L517.824,311.456 C517.824,313.088008 517.764001,314.755991 517.644,316.46 C517.523999,318.164009 517.284002,319.831992 516.924,321.464 C516.563998,323.096008 516.012004,324.631993 515.268,326.072 C514.523996,327.512007 513.516006,328.783994 512.244,329.888 C510.971994,330.992006 509.388009,331.855997 507.492,332.48 C505.595991,333.104003 503.280014,333.416 500.544,333.416 C498.143988,333.416 496.008009,333.020004 494.136,332.228 C492.263991,331.435996 490.680006,330.308007 489.384,328.844 C488.087994,327.379993 487.080004,325.60401 486.36,323.516 C485.639996,321.42799 485.256,319.112013 485.208,316.568 C485.208,315.415994 485.196,314.324005 485.172,313.292 C485.148,312.259995 485.136,311.192006 485.136,310.088 L485.136,306.416 L485.136,302.024 L485.136,298.64 L485.136,295.76 C485.136,294.847995 485.148,293.912005 485.172,292.952 C485.196,291.991995 485.232,290.888006 485.28,289.64 C485.328,288.535994 485.567998,287.624004 486,286.904 C486.432002,286.183996 486.959997,285.620002 487.584,285.212 C488.208003,284.803998 488.903996,284.504001 489.672,284.312 C490.440004,284.119999 491.159997,283.976 491.832,283.88 L491.832,283.16 L470.376,283.16 L470.376,283.88 C471.624006,284.024001 472.739995,284.275998 473.724,284.636 C474.708005,284.996002 475.535997,285.583996 476.208,286.4 C476.496001,286.736002 476.711999,287.203997 476.856,287.804 C477.000001,288.404003 477.108,289.075996 477.18,289.82 C477.252,290.564004 477.288,291.367996 477.288,292.232 L477.288,294.824 L477.288,304.4 C477.288,307.040013 477.276,309.439989 477.252,311.6 C477.228,313.760011 477.216,315.511993 477.216,316.856 C477.216,317.432003 477.252,318.307994 477.324,319.484 C477.396,320.660006 477.635998,321.955993 478.044,323.372 C478.452002,324.788007 479.075996,326.227993 479.916,327.692 C480.756004,329.156007 481.943992,330.499994 483.48,331.724 C485.016008,332.948006 486.971988,333.919996 489.348,334.64 C491.724012,335.360004 494.639983,335.72 498.096,335.72 C501.600018,335.72 504.551988,335.348004 506.952,334.604 C509.352012,333.859996 511.319992,332.852006 512.856,331.58 C514.392008,330.307994 515.579996,328.892008 516.42,327.332 C517.260004,325.771992 517.871998,324.212008 518.256,322.652 C518.640002,321.091992 518.868,319.616007 518.94,318.224 C519.012,316.831993 519.072,315.680005 519.12,314.768 C519.216,311.551984 519.3,308.672013 519.372,306.128 C519.444,303.583987 519.504,301.28001 519.552,299.216 C519.552,298.111994 519.576,296.996006 519.624,295.868 C519.672,294.739994 519.744,293.672005 519.84,292.664 C519.936,291.655995 520.043999,290.768004 520.164,290 C520.284001,289.231996 520.415999,288.680002 520.56,288.344 C521.136003,286.951993 521.939995,285.920003 522.972,285.248 C524.004005,284.575997 525.407991,284.120001 527.184,283.88 L527.184,283.88 Z M585.288,335 L585.288,334.28 C583.031989,333.943998 581.064008,333.200006 579.384,332.048 C577.703992,330.895994 575.976009,329.072012 574.2,326.576 C573.047994,324.943992 571.740007,323.072011 570.276,320.96 C568.811993,318.847989 567.456006,316.880009 566.208,315.056 C565.487996,314.047995 564.744004,313.136004 563.976,312.32 C563.207996,311.503996 562.416004,310.880002 561.6,310.448 L561.6,310.232 C563.184008,309.703997 564.695993,309.056004 566.136,308.288 C567.576007,307.519996 568.835995,306.596005 569.916,305.516 C570.996005,304.435995 571.859997,303.188007 572.508,301.772 C573.156003,300.355993 573.48,298.760009 573.48,296.984 C573.48,294.103986 572.832006,291.716009 571.536,289.82 C570.239994,287.923991 568.536011,286.424006 566.424,285.32 C564.35999,284.215994 562.080012,283.568001 559.584,283.376 C557.087988,283.183999 554.232016,283.088 551.016,283.088 L545.976,283.088 C543.91199,283.088 541.84801,283.1 539.784,283.124 C537.71999,283.148 535.872008,283.16 534.24,283.16 L531.288,283.16 L531.288,283.88 C532.584006,284.072001 533.675996,284.299999 534.564,284.564 C535.452004,284.828001 536.255996,285.343996 536.976,286.112 C537.264001,286.400001 537.491999,286.867997 537.66,287.516 C537.828001,288.164003 537.948,288.883996 538.02,289.676 C538.092,290.468004 538.14,291.307996 538.164,292.196 C538.188,293.084004 538.2,293.959996 538.2,294.824 L538.2,308.864 L538.2,313.04 C538.2,314.480007 538.188,315.883993 538.164,317.252 C538.14,318.620007 538.116,319.879994 538.092,321.032 C538.068,322.184006 538.056,323.095997 538.056,323.768 C538.056,324.536004 538.032,325.327996 537.984,326.144 C537.936,326.960004 537.876,327.727996 537.804,328.448 C537.732,329.168004 537.624001,329.815997 537.48,330.392 C537.335999,330.968003 537.144001,331.399999 536.904,331.688 C536.279997,332.456004 535.416006,333.031998 534.312,333.416 C533.207994,333.800002 532.056006,334.087999 530.856,334.28 L530.856,335 L553.896,335 L553.896,334.28 C551.92799,334.184 550.392006,333.812003 549.288,333.164 C548.183994,332.515997 547.440002,331.880003 547.056,331.256 C546.575998,330.535996 546.312,329.624006 546.264,328.52 C546.216,327.415994 546.168,326.096008 546.12,324.56 C546.072,322.975992 546.048,321.032012 546.048,318.728 L546.048,310.592 C546.720003,310.64 547.271998,310.664 547.704,310.664 C548.184002,310.664 548.879995,310.759999 549.792,310.952 C551.040006,311.192001 552.227994,311.791995 553.356,312.752 C554.484006,313.712005 555.527995,314.743994 556.488,315.848 C557.640006,317.192007 558.635996,318.403995 559.476,319.484 C560.316004,320.564005 561.095996,321.631995 561.816,322.688 C562.536004,323.744005 563.243997,324.811995 563.94,325.892 C564.636003,326.972005 565.439995,328.183993 566.352,329.528 C567.120004,330.632006 567.683998,331.459997 568.044,332.012 C568.404002,332.564003 568.703999,332.983999 568.944,333.272 C569.184001,333.560001 569.399999,333.811999 569.592,334.028 C569.784001,334.244001 570.095998,334.567998 570.528,335 L585.288,335 Z M565.2,296.552 C565.2,297.848006 565.032002,299.095994 564.696,300.296 C564.359998,301.496006 563.844003,302.611995 563.148,303.644 C562.451997,304.676005 561.552006,305.599996 560.448,306.416 C559.343994,307.232004 558.024008,307.879998 556.488,308.36 C554.903992,308.888003 553.260009,309.235999 551.556,309.404 C549.851991,309.572001 548.01601,309.656 546.048,309.656 L546.048,306.92 L546.048,301.736 C546.048,299.76799 546.06,297.728011 546.084,295.616 C546.108,293.503989 546.144,291.608008 546.192,289.928 C546.24,288.823994 546.276,287.972003 546.3,287.372 C546.324,286.771997 546.348,286.304002 546.372,285.968 C546.396,285.631998 546.432,285.356001 546.48,285.14 C546.528,284.923999 546.576,284.672001 546.624,284.384 C546.960002,284.336 547.439997,284.288 548.064,284.24 C548.688003,284.192 549.503995,284.168 550.512,284.168 C551.904007,284.168 553.235994,284.287999 554.508,284.528 C555.780006,284.768001 556.991994,285.151997 558.144,285.68 C560.448012,286.784006 562.199994,288.271991 563.4,290.144 C564.600006,292.016009 565.2,294.151988 565.2,296.552 L565.2,296.552 Z M607.896,335 L607.896,334.28 C606.887995,334.184 605.760006,333.920002 604.512,333.488 C603.263994,333.055998 602.352003,332.432004 601.776,331.616 C601.391998,331.087997 601.176,330.176006 601.128,328.88 C601.08,327.583994 601.056,326.240007 601.056,324.848 L601.056,308.576 L601.056,304.472 L601.056,300.728 C601.056,299.527994 601.068,298.340006 601.092,297.164 C601.116,295.987994 601.128,294.800006 601.128,293.6 C601.176,292.495994 601.212,291.320006 601.236,290.072 C601.26,288.823994 601.487998,287.792004 601.92,286.976 C602.544003,285.823994 603.431994,285.056002 604.584,284.672 C605.736006,284.287998 606.815995,284.024001 607.824,283.88 L607.824,283.16 L586.296,283.16 L586.296,283.88 C587.544006,284.024001 588.659995,284.275998 589.644,284.636 C590.628005,284.996002 591.455997,285.583996 592.128,286.4 C592.416001,286.736002 592.631999,287.203997 592.776,287.804 C592.920001,288.404003 593.028,289.075996 593.1,289.82 C593.172,290.564004 593.208,291.367996 593.208,292.232 L593.208,294.824 L593.208,308.864 L593.208,313.04 C593.208,314.480007 593.196,315.883993 593.172,317.252 C593.148,318.620007 593.124,319.879994 593.1,321.032 C593.076,322.184006 593.064,323.095997 593.064,323.768 C593.064,324.536004 593.052,325.315996 593.028,326.108 C593.004,326.900004 592.956,327.655996 592.884,328.376 C592.812,329.096004 592.716001,329.719997 592.596,330.248 C592.475999,330.776003 592.296001,331.183999 592.056,331.472 C591.335996,332.288004 590.460005,332.911998 589.428,333.344 C588.395995,333.776002 587.280006,334.087999 586.08,334.28 L586.08,335 L607.896,335 Z" id="JSON/URI" stroke="none" fill="#000000" fill-rule="evenodd"></path>
        <polygon id="Path" stroke="#CE0000" stroke-width="1" fill="#CD0000" fill-rule="evenodd" points="470.88 281.216 468.504 280.28 441.864 344.432 444.24 345.296"></polygon>
    </svg>
  </h1>
  <div id="app">
    <textarea class="data" @input="update">{{data}}</textarea>

    <div class="ctr">
      <div class="tabs">
        <a href="#" v-if="showRepl">←Home</a>
        <a href="#repl" v-else="showRepl">Repl→</a>
      </div>
      <template v-if="showRepl">
        <textarea class="repl" v-model="repl"></textarea>
        <button @click="eval" class="repl-btn">run code</button>
      </template>
      <template v-else="showRepl">
        <button @click="get1">get(data, 'batters/batter/0/id')</button>
        <button @click="get2">get(data, 'batters/batter/0/id/..')</button>
        <button @click="set">set(data, 'batters/batter/0/id', '8888')</button>
        <button @click="rm">rm(data, 'batters/batter/0')</button>
        <button @click="insert">insert(data, 'batters/batter/0/id/..', {...}, 'before')</button>
        <button @click="swap">swap(data, 'batters/batter/0', 'batters/batter/2')</button>
        <button @click="mv">mv(data, 'name', 'batters/batter/1', 'after')</button>
        <button @click="up">up(this.data, 'batters/batter/2')</button>
        <button @click="down">down(data, 'batters/batter/2')</button>
      </template>
    </div>

    <div class="ribbon right red">
      <a href="//github.com/allgay/jsonuri">Fork me on GitHub</a>
    </div>
  </div>
</div>

<script>
  new Vue({
    el: '#app',
    data () {
      return {
        id: 5001,
        showRepl: false,
        repl: `jsonuri.set(vm.data, 'batters/batter/length', 1)`,
        data: {
          "id": "0003",
          "type": "donut",
          "name": "Old Fashioned",
          "ppu": 0.55,
          "batters": {
            "batter": [
              {
                "id": "5001",
                "name": "None"
              },
              {
                "id": "5002",
                "name": "Glazed"
              },
              {
                "id": "5003",
                "name": "Chocolate"
              },
              {
                "id": "5004",
                "name": "Maple"
              }
            ]
          }
        },
        error: ''
      }
    },
    created() {
      this.showRepl = location.hash === '#repl'
      window.addEventListener('hashchange', () => {
        this.showRepl = location.hash === '#repl'
      })
    },

    methods: {
      update (e) {
        try {
          this.data = JSON.parse(e.target.value)
        } catch (e) {
          console.error(e)
        }
      },
      get1 () {
        alert(jsonuri.get(this.data,'batters/batter/0/id'))
      },
      get2 () {
        alert(JSON.stringify(jsonuri.get(this.data,'batters/batter/0/id/..'), null, 4))
      },
      set () {
        jsonuri.set(this.data, "batters/batter/0/id","8888");
      },
      rm () {
        jsonuri.rm(this.data, "batters/batter/0");
      },
      insert () {
        var batterObj = {
          id:String(this.id++),
          name:new Date().getTime().toString(36)
        }
        jsonuri.insert(this.data, "batters/batter/0", batterObj, 'before')
      },
      swap () {
        jsonuri.swap(this.data, 'batters/batter/0', 'batters/batter/2')
      },

      mv () {
        jsonuri.mv(this.data, 'name', 'batters/batter/1', 'after')
      },

      up () {
        jsonuri.up(this.data, 'batters/batter/2')
      },
      down () {
        jsonuri.down(this.data, 'batters/batter/2')
      },
      eval () {
        var vm = this
        eval(this.repl)
      }
    }
  })
</script>

</body>
</html>
